#ifndef     __STATUS_TASK_H
#define     __STATUS_TASK_H

#include "../rtos/thread.h"

namespace task {

constexpr uint32_t StatusStackSize = 1024;
constexpr osPriority_t StatusPriority = osPriorityHigh1;

class StatusTask : public rtos::Thread<StatusTask, StatusStackSize, StatusPriority> {

public:
    void run();

private:
    void notify();

    uint32_t read_sw();
};

extern StatusTask statusTask;

}

#endif
